perm filename ARPA.74A[DOC,TOB] blob
sn#125609 filedate 1974-10-14 generic text, type T, neo UTF8
00100 This progress report covers the period from July 1, 1973 to July
00200 1,1974.
00300
00400 MANIPULATION
00500
00600 In previous work, Scheinman [] developed adequate manipulator
00700 hardware, and Paul [] developed software for arm control utilizing
00800 touch (one point per finger with 8 grams sensitivity) and force (from
00900 joint motor current, about 12 oz sensitivity) During the past year, a
01000 second arm was made operational, and the software was augmented to
01100 include two arm manipulation. This is a first use of two arms, to
01200 our knowledge.
01300
01400 Paul and Bolles [] had previously demonstrated the utility of our arm
01500 system in the assembly of a water pump. Touch, force, tools, and
01600 vision were used. A film showing the assembly was made []. Several
01700 new tasks were performed. Finkel programmed throwing objects into
01800 bins sorted on size. Paul programmed automatic assembly of a hinge,
01900 using two arms. Bolles programmed automatic tool changing; a set of
02000 socket tools for the automatic screwdriver are kept in a tool holder.
02100 The arm automatically removes one tool from the drive and mounts
02200 another. A subassembly of the two stroke gasoline engine has been
02300 performed. Bolles carried out assembly of the piston-crankshaft
02400 subassembly. A short film showing execution of these tasks is in
02500 preparation.
02600
02700 These tasks were carried out in the hand language WAVE [].
02800 Programming in a hand language gave a generality which might be
02900 described as: given that we had carried out one task, programming
03000 assembly of a similar object would be simple. For example,
03100 programming assembly of a generator would require about 10 hours
03200 work, following the pump assembly. A set of macros were developed
03300 which were applicable among a variety of tasks: put a pin in a hole,
03400 insert a screw. About 8 hours are required to program a macro of the
03500 complexity of inserting a screw. The hand language has made it simple
03600 to teach students how to program the arm. In a robotics course,
03700 students programmed "sword in stone", inserting a shaft into a hole.
03800 The language WAVE is on the level of assembler code. The language
03900 was extended to include two arm control and transformations of
04000 position variables to allow a program written for one table position
04100 to be executed at other table positions, for those assemblies for
04200 which some parts are not in fixed positions.
04300
04400 Paul, Finkel, Bolles and Taylor have begun a new hand language, HAL.
04500 The effort began as a higher level language version of WAVE, to
04600 include coordinated motion of two arms. The design was broadened to
04700 include some strategy generation. The system is made partially
04800 model- based (versus procedure-based as WAVE, ALGOL, etc). Some
04900 degree of automatic generation of sequences for non-independent
05000 operations whose order is important, has been included in the design.
05100 In order to carry on the next stage of generalization beyond WAVE,
05200 the system must maintain models of its world. For example, to take
05300 contingency action, simple branching may suffice. For those
05400 contingencies which may be within system capabilities but not
05500 anticipated, the system must know when corrective action has restored
05600 the desired state. We regard this system as a first level of
05700 model-based system. A major technical advance will be coordinated
05800 two arm motion, as opposed to independent two arm motion. An
05900 important part of the design process has been to express a number of
06000 tasks in the new language, Gedanken experiments. The design of HAL
06100 was three-fourths completed during the period of this progress
06200 report.
06300
06400 New work has gone into touch sensor development. A new sensor with
06500 adequate sensitivity and small size was built and tested by Perkins.
06600 The sensor seems adequate for use in task execution, but requires
06700 more development in packaging and mounting on usable fingers.
06800
06900 A new collision avoidance package has been programmed by Widdoes [].
07000 The package finds a collision-free path for the first three joints of
07100 the arm, using an interesting strategy. The previous collision
07200 avoidance program [] used a very local search around objects and was
07300 very time-consuming.
07400
07500 During the period covered in this report, we have begun conversion of
07600 arm hardware to a PDP-11/45 and begun converting to a new hand/eye
07700 table which allows room for two arm manipulation.
07800
07900
08000 VISION
08100
08200 The theme of our work in visual perception of complex objects has
08300 been DESCRIPTION AND NOT CLASSIFICATION. We ahve concentrated on
08400 building up capabilities for generating structured descriptions
08500 useful in a rich universe of objects. This project has been extended
08600 by Nevatia [], with programs which recognize objects of the
08700 complexity of a doll, glove, toy horse, or hammer. The work has
08800 included new, stable hardware for the laser triangulation system [].
08900 The programs use depth data from the laser system, find boundaries of
09000 continuous surfaces, and make descriptions of armlike parts based on
09100 "generalized cones", according to a representation by Binford [].
09200 Other groups have begun to use such representations; for example, a
09300 special case of that representation has been used by Hollenbach [].
09400 The programs then make complete structured descriptions of objects as
09500 a part/whole graph of parts and relations of parts at joints. Compact
09600 summary descriptions are abstracted from complete object descriptions
09700 and used to index into a structured visual memory of models of
09800 previously seen objects to locate a subclass of model similar to the
09900 test object. The index procedure limits comparison of the test object
10000 description to relatively few models from memory, even with a large
10100 visual memory of many objects (although only about six objects were
10200 used). Models in memory were descriptions made by the program of
10300 previously seen objects, sometimes modified by hand. The learning
10400 ability of such a system is clear. An important feature of the
10500 description matching process is that it depends on generating
10600 structured symbolic descriptions of differences between test object
10700 description and the model.
10800
10900 The descriptions themselves are intuitively familiar for humans, so
11000 that the decisions of the program are easy to understand and debug.
11100 Although a great deal more work is necessary for that system, it
11200 represents a first and significant step in such description and
11300 recognition, particularly since it can tolerate moderate obscuration.
11400 The same techniques are applicable to edge images from TV data; they
11500 give good descriptive ability for that domain. However, that is only
11600 a small part of the necessary system for analysis of TV images and
11700 although useful, in no way resembles a solution to that complex
11800 problem.
11900
12000 It is difficult for humans to perform manipulation tasks from a
12100 single TV image, without stereo. We intend to make considerable use
12200 of stereo in applications of vehicle navigation and visual feedback
12300 for assembly. Hannah [] has demonstrated some techniques of stereo
12400 matching for stereo pairs with moderate stereo angle, 10 degrees,
12500 without calibration information. By matching a minimum of six points
12600 in the two images, it was possible to obtain the relative calibration
12700 of the two cameras. Further search was limited by calibration
12800 informaion. Techniques were developed to match corresponding areas
12900 in outdoor pictures from features including color, mean and variance
13000 of intensity. A program was able to define regions bounded by depth
13100 discontinuities. Thomas and Pingle [] have appplied motion parallax
13200 to simple scenes. They limit attention to a few points defined by
13300 variance or edge measures. These points are tracked as the scene is
13400 rotated on a turntable, equivalent to moving the camera. The program
13500 requires only about 1 second per frame, using the SPS-41 computer.
13600 Although the research was performed on scenes of blocks, it is not
13700 limited to such scenes. The mechanism for selecting points of
13800 interesst would be inadequate for scenes with texture, however.
13900 Ganapathy [] has developed techniques for wide angle stereo matching
14000 in scenes of blocks. These programs use a variety of conditions of
14100 the form that planes remain planar under matching.
14200
14300 Bullock [] has made a systematic study of available operators for
14400 description of texture, and made a library of standard textures. His
14500 informal conclusions are that spatial domain descriptions are
14600 necessary, and that known techniques are very weak.
14700
14800 We have continued our study of techniques for visual feedback to deal
14900 with scenes with realistic contrast (not just black vs white) and
15000 with realistic complexity (curved objects). Perkins [] has made a
15100 program which finds corners for visual feedback in block stacking.
15200 Although block stacking itself is of little interest, the program is
15300 interesting for its ability to function with realistic contrast
15400 levels (no special preparation of scene) and interesting for its
15500 global edge finding strategy. Perkins also made a program which
15600 found elliptic curves among edge points from the Hueckel operator [].
15700 The program was able to identify cylinders.
15800
15900 Binford has made a beginning on a language for vision research.
16000 Previously, the laboratory has built a hand/eye monitor system [] to
16100 systematize cooperating routines at a job level; a library of simple
16200 procedures has been implemented. It has been found that the job
16300 level is too coarse to be useful for accomplishing our objectives: to
16400 allow research to build on previously built data structures and
16500 modules; to allow a common vocabulary. The new effort is not
16600 predominantly a system software effort, but a scientific effort,
16700 aimed at providing a language in which strategies can be expressed.
16800 Our experience is that it is difficult for humans to program in LISP
16900 or SAIL, and that we cannot reasonably expect strategy programs to be
17000 expressed at that low level of language. The language will be
17100 embedded in SAIL. Our previous work in representation of shape has
17200 been significant; now we are extending the study of representation to
17300 visual program structure, including intermediate internal structures.
17400 Our experience with the hand language is that this is a valuable
17500 step.